1. Field of the Invention
This invention relates to instrumentation systems, and more particularly to a system and method for controlling the operations of multiplexed relays.
2. Description of the Related Art
Relays are used in a number of different applications, such as instrumentation systems and process control. Relays may be electromechanical, electrical, or electronic in nature.
The operations of typical electromechanical relays are well known in the art. In short, a relay is an electrically activated mechanical switch. The relay is opened and/or closed by energizing an electromagnet to either attract or repel a metal contact on a movable strip of metal. The metal strip has mass and elasticity, i.e. springiness and flexibility. The relay is normally designed to open or close quickly, so there is little resistance to movement of the metal strip.
Due to the elasticity of the metal strip, when an open relay is closed, the contacts close and then mechanically bounce open and closed before settling. The metal strip may bounce off the contact several times. This effect is known as "contact bounce", and it may last from 10-50 ms. It is noted that bounce can occur on opening as well as closing of the relay. The result of bounce is the electrical signal through the relay (i.e. any mechanical switch) does not transition smoothly between the open circuit condition and the closed circuit condition. Spikes and transients propagate through the electrical circuit upon each opening and closing of the relay.
Difficulties may arise as bouncing typically occurs for milliseconds, while electronic devices respond to electrical signals within microseconds. As bouncing is a well-known problem, several means of solving the problem of bounce are known, referred to as debounce. Debounce methods are primarily performed either in hardware immediately following the relay or in software. Debouncing, or allowing the relay to finish bouncing, is important, since a signal will be degraded until the relay has been debounced.
In order to debounce a relay in hardware, a sharp high-low or low-high transition is usually generated immediately following actuation of the relay through, for example, a buffer switched through a charging R-C circuit. The R-C time constant must be longer than the bounce time, causing the delay in the signal to reach 100 ms or more. To debounce a relay in software, the software adds delays in the code to compensate for the debounce time, also adding to the delay in the signal. The software may also poll a hardware bit waiting for a debounce in the hardware.
Examples of electrical or electronic relays include field effect transistor (FET) switches and solid-state relays. Electronic relays must also "debounce", also called "settle", because there is a finite time required for the electronic relay to reach its fully open or fully closed state. An electrical signal does not propagate smoothly through an electronic relay until the electronic relay has "settled" into its fully open state. Likewise, electrical signals may be intermittent while the electronic relay "settles" into its fully closed state.
In instrumentation systems, a plurality of relays may be included to allow multiple instruments to feed into a centralized control system. Initialization or reset procedures for 16, 32, 64, or even more relays often require sizable periods of time, as each relay is tested for proper transition from open to closed and/or closed to open. In prior art systems, each relay is debounced during the initialization or reset procedures. During operation, each relay is again debounced during the data acquisition phase.
Therefore, a system and method are desired to speed up initialization, reset, and actuation of relays while still ensuring proper relay operation. The system and method should be general enough to include switching devices ranging from solid state devices to mechanical relays.